package main

import (
	"fmt"
	"sync"
)

/*
如果不加锁，多个线程同时操作一个变量可能发生竞态条件
*/
var x int64
var wg2 sync.WaitGroup

func add() {
	for i := 0; i < 5000; i++ {
		x = x + 1
	}
	wg2.Done()
}
func main() {
	wg2.Add(2)
	go add()
	go add()
	wg2.Wait()
	fmt.Println(x) //6989 这里一共调用了10000次添加，但是由于静态条件，结果小于10000
}
